From: Florian Müllner Date: Fri, 22 Feb 2013 19:56:24 +0000 (+0100) Subject: viewSelector: Don't focus search entry on whitespace X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~4648 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=fb0cf64536a35d0d018d2f2bd506a9f02af57b14;p=gnome-shell.git viewSelector: Don't focus search entry on whitespace We recently started to trim leading and trailing whitespace from the search string, and not to trigger a search when the resulting string was empty. However we still allow whitespace to trigger type-ahead-find, so that the key focus is moved briefly to the search entry and back to the stage, resulting in a disruptive flickering of the entry. Fix this by excluding whitespace from triggering type-ahead-find. https://bugzilla.gnome.org/show_bug.cgi?id=694475 --- diff --git a/js/ui/viewSelector.js b/js/ui/viewSelector.js index 386150fd3..011855fb5 100644 --- a/js/ui/viewSelector.js +++ b/js/ui/viewSelector.js @@ -279,8 +279,7 @@ const ViewSelector = new Lang.Class({ else Main.overview.hide(); return true; - } else if (Clutter.keysym_to_unicode(symbol) || - (symbol == Clutter.BackSpace && this._searchActive)) { + } else if (this._shouldTriggerSearch(symbol)) { this.startSearch(event); } else if (!this._searchActive) { if (symbol == Clutter.Tab || symbol == Clutter.Down) { @@ -345,6 +344,17 @@ const ViewSelector = new Lang.Class({ } }, + _shouldTriggerSearch: function(symbol) { + let unicode = Clutter.keysym_to_unicode(symbol); + if (unicode == 0) + return false; + + if (getTermsForSearchString(String.fromCharCode(unicode)).length > 0) + return true; + + return symbol == Clutter.BackSpace && this._searchActive; + }, + startSearch: function(event) { global.stage.set_key_focus(this._text); this._text.event(event, true);